#pragma once

#include "IGameState.h"
#include <string>
using std::string;

// SGD Wrappers
#include "SGD Wrappers/CSGD_Direct3D.h"
#include "SGD Wrappers/CSGD_DirectInput.h"
#include "SGD Wrappers/CSGD_TextureManager.h"
#include "SGD Wrappers/CSGD_XAudio2.h"


// Bitmap font
#include "BitmapFont.h"


struct Credits
{
	string name;
	int x;
	int y;
	float camX;
	float camY;
};

class CreditsState : public IGameState 
{


public:
	void Enter();

	void Exit();

	bool Input();

	void Update(float elapsed);

	void Render();

	static CreditsState* GetInstance();

private:
	CreditsState();

	CreditsState(CreditsState& menu);

	virtual ~CreditsState();

	//int moveUpSpeed;
	//float SeanTimer;

	// Bitmap font
	CBitmapFont* font;

	void InitCredits();

	// Credits Stuff
	Credits credits[13];

	float timer;
	float timeDisplay;
	int curCredit;

	float camX;
	float camY;
	float nextCamX;
	float nextCamY;
	bool moving;

	int background;
	int music;

	int alpha;
	float alphaTimer;

};
